package com.bishi;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class 度小满 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s1 = sc.nextLine();
        String s2 = sc.nextLine();
        Map<Character,Integer> map = new HashMap<>();
        char[] arr = s2.toCharArray();
        for(Character item : arr){
            map.put(item, map.getOrDefault(item,0)+1);
        }
        int ans = 0;
        int sum = 0;
        char[] temp = s1.toCharArray();
        Map<Character,Integer> map2 = new HashMap<>();
        for(Character item : temp){
            map2.put(item, map2.getOrDefault(item,0)+1);
        }
        boolean flag = true;
        while(flag){
            for(Character item : temp){
                if(!map.containsKey(item) || (map.get(item) < map2.get(item))){ //不包含
                    flag = false;
                    break;
                }
//                if()){ //包含但是数量不够
//                    flag = false;
//                    break;
//                }
            }
            for(int i = 0; flag && i < temp.length; i++){
                char item = temp[i];
                if(map.get(item) == 0){
                    flag = false;
                    break;
                }
                map.put(item, map.get(item)-1);
                if(i == temp.length - 1){
                    ans++;
                }
            }
        }
        Set<Character> characters = map.keySet();
        for(Character item : characters){
            if(map.get(item) > 0){
                sum += map.get(item);
            }
        }
        System.out.println(ans+" "+ sum);
    }
}
